<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
	<head>
		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
		<meta name="generator" content="JsDoc Toolkit" />
		
		<title>JsDoc Reference - PanelEditable</title>

		<style type="text/css">
			/* default.css */
body
{
	font: 12px "Lucida Grande", Tahoma, Arial, Helvetica, sans-serif;
	width: 800px;
}

.header
{
	clear: both;
	background-color: #ccc;
	padding: 8px;
}

h1
{
	font-size: 150%;
	font-weight: bold;
	padding: 0;
	margin: 1em 0 0 .3em;
}

hr
{
	border: none 0;
	border-top: 1px solid #7F8FB1;
	height: 1px;
}

pre.code
{
	display: block;
	padding: 8px;
	border: 1px dashed #ccc;
}

#index
{
	margin-top: 24px;
	float: left;
	width: 160px;
	position: absolute;
	left: 8px;
	background-color: #F3F3F3;
	padding: 8px;
}

#content
{
	margin-left: 190px;
	width: 600px;
}

.classList
{
	list-style-type: none;
	padding: 0;
	margin: 0 0 0 8px;
	font-family: arial, sans-serif;
	font-size: 1em;
	overflow: auto;
}

.classList li
{
	padding: 0;
	margin: 0 0 8px 0;
}

.summaryTable { width: 100%; }

h1.classTitle
{
	font-size:170%;
	line-height:130%;
}

h2 { font-size: 110%; }
caption, div.sectionTitle
{
	background-color: #7F8FB1;
	color: #fff;
	font-size:130%;
	text-align: left;
	padding: 2px 6px 2px 6px;
	border: 1px #7F8FB1 solid;
}

div.sectionTitle { margin-bottom: 8px; }
.summaryTable thead { display: none; }

.summaryTable td
{
	vertical-align: top;
	padding: 4px;
	border-bottom: 1px #7F8FB1 solid;
	border-right: 1px #7F8FB1 solid;
}

/*col#summaryAttributes {}*/
.summaryTable td.attributes
{
	border-left: 1px #7F8FB1 solid;
	width: 140px;
	text-align: right;
}

td.attributes, .fixedFont
{
	line-height: 15px;
	color: #002EBE;
	font-family: "Courier New",Courier,monospace;
	font-size: 13px;
}

.summaryTable td.nameDescription
{
	text-align: left;
	font-size: 13px;
	line-height: 15px;
}

.summaryTable td.nameDescription, .description
{
	line-height: 15px;
	padding: 4px;
	padding-left: 4px;
}

.summaryTable { margin-bottom: 8px; }

ul.inheritsList
{
	list-style: square;
	margin-left: 20px;
	padding-left: 0;
}

.detailList {
	margin-left: 20px; 
	line-height: 15px;
}
.detailList dt { margin-left: 20px; }

.detailList .heading
{
	font-weight: bold;
	padding-bottom: 6px;
	margin-left: 0;
}

.light, td.attributes, .light a:link, .light a:visited
{
	color: #777;
	font-style: italic;
}

.fineprint
{
	text-align: right;
	font-size: 10px;
}
		</style>
	</head>

	<body>
<!-- ============================== header ================================= -->	
		<!-- begin static/header.html -->
		<div id="header">
</div>
		<!-- end static/header.html -->

<!-- ============================== classes index ============================ -->
		<div id="index">
			<!-- begin publish.classesIndex -->
			<div align="center"><a href="../index.html">Class Index</a>
| <a href="../files.html">File Index</a></div>
<hr />
<h2>Classes</h2>
<ul class="classList">
	
	<li><i><a href="../symbols/_global_.html">_global_</a></i></li>
	
	<li><a href="../symbols/ContentEditor.html">ContentEditor</a></li>
	
	<li><a href="../symbols/PanelEditable.html">PanelEditable</a></li>
	
</ul>
<hr />
			<!-- end publish.classesIndex -->
		</div>
		
		<div id="content">
<!-- ============================== class title ============================ -->
			<h1 class="classTitle">
				
				Class PanelEditable
			</h1>

<!-- ============================== class summary ========================== -->			
			<p class="description">
				<br />Extends
					Ext.Panel.<br />
				
			
				PanelEditable
				
				
					<br /><i>Defined in: </i> <a href="../symbols/src/PanelEditable.js.html">PanelEditable.js</a>.
				
			</p>

<!-- ============================== constructor summary ==================== -->			
			
			<table class="summaryTable" cellspacing="0" summary="A summary of the constructor documented in the class PanelEditable.">
				<caption>Class Summary</caption>
				<thead>
					<tr>
						<th scope="col">Constructor Attributes</th>
						<th scope="col">Constructor Name and Description</th>
					</tr>
				</thead>
				<tbody>
					<tr>
						<td class="attributes">&nbsp;</td>
						<td class="nameDescription" >
							<div class="fixedFont">
								<b><a href="../symbols/PanelEditable.html#constructor">PanelEditable</a></b>()
							</div>
							<div class="description">Basic Ext component that is editable with REDO/UNDO support; extends Ext.Panel<BR/>
Any content can be made editable by:<BR/>
1) <a href="#initContent">#initContent</a> to place some content within the panel<BR/>
2) <a href="#process">#process</a> to prepare nodes<BR/>
3) <a href="#makeEditable">#makeEditable</a> to notify ContentEditor<BR/></div>
						</td>
					</tr>
				</tbody>
			</table>
			

<!-- ============================== properties summary ===================== -->
			
				
				
				<table class="summaryTable" cellspacing="0" summary="A summary of the fields documented in the class PanelEditable.">
					<caption>Field Summary</caption>
					<thead>
						<tr>
							<th scope="col">Field Attributes</th>
							<th scope="col">Field Name and Description</th>
						</tr>
					</thead>
					<tbody>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont">
								<b><a href="../symbols/PanelEditable.html#marker">marker</a></b>
								</div>
								<div class="description">node attribute that ContentEditor looks for to make a node editable;<BR/>
Can have more markers; however only the first one (if set) indicates 'editability'; the reminder is passed over to .updateElement - can be used to unique identification of editable nodes
Note! only textnodes can be made editable</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont">
								<b><a href="../symbols/PanelEditable.html#markerClassName">markerClassName</a></b>
								</div>
								<div class="description">Depending on marker set bound to a node, ContentEditor sets nodes CSS names taken from the array</div>
							</td>
						</tr>
					
					</tbody>
				</table>
				
				
				
			

<!-- ============================== methods summary ======================== -->
			
				
				
				<table class="summaryTable" cellspacing="0" summary="A summary of the methods documented in the class PanelEditable.">
					<caption>Method Summary</caption>
					<thead>
						<tr>
							<th scope="col">Method Attributes</th>
							<th scope="col">Method Name and Description</th>
						</tr>
					</thead>
					<tbody>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/PanelEditable.html#addSnapshot">addSnapshot</a></b>()
								</div>
								<div class="description">function to store current state of the document for the purpose of UNDO/REDO<BR/>
Should be called from <a href="#updateElement">#updateElement</a></div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/PanelEditable.html#getDom">getDom</a></b>()
								</div>
								<div class="description">returns copy of the current document</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/PanelEditable.html#getScrollable">getScrollable</a></b>()
								</div>
								<div class="description">returns the container of a node that is scrollable</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/PanelEditable.html#initContent">initContent</a></b>(content)
								</div>
								<div class="description">Adds content to the component</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/PanelEditable.html#initSnapshot">initSnapshot</a></b>()
								</div>
								<div class="description">Initializes snapshots
Function called by makeEditable</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/PanelEditable.html#makeEditable">makeEditable</a></b>()
								</div>
								<div class="description">method makes a node being editable<BR/>
Note! content has to be prepared in order to make it Editable<BR/>
Can implement own function that wrapes editable nodes with spans
and gives them attribute marker[0]<BR/>
Please see: <a href="#process">#process</a></div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/PanelEditable.html#output">output</a></b>()
								</div>
								<div class="description">prints into console the copy of the current document</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/PanelEditable.html#process">process</a></b>(root)
								</div>
								<div class="description">processes the current document in order to append markers
Note! Editable nodes have to be wrapped using span with a marker!</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/PanelEditable.html#recallSnapshot">recallSnapshot</a></b>(step)
								</div>
								<div class="description">Retrieves stored snapshot and replace current document</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/PanelEditable.html#refreshContent">refreshContent</a></b>()
								</div>
								<div class="description">Function to refresh/regenerate current content.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/PanelEditable.html#unhook">unhook</a></b>()
								</div>
								<div class="description">unhooks any events bound to current content<BR/>
method usually used when re-processing content</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/PanelEditable.html#updateElement">updateElement</a></b>(value, markers)
								</div>
								<div class="description">Function called by ContentEditor every time an editable element is changed</div>
							</td>
						</tr>
					
					</tbody>
				</table>
				
				
				
			
<!-- ============================== events summary ======================== -->
			

<!-- ============================== constructor details ==================== -->		
			
			<div class="details"><a name="constructor"> </a>
				<div class="sectionTitle">
					Class Detail
				</div>
				
				<div class="fixedFont">
						<b>PanelEditable</b>()
				</div>
				
				<div class="description">
					Basic Ext component that is editable with REDO/UNDO support; extends Ext.Panel<BR/>
Any content can be made editable by:<BR/>
1) <a href="#initContent">#initContent</a> to place some content within the panel<BR/>
2) <a href="#process">#process</a> to prepare nodes<BR/>
3) <a href="#makeEditable">#makeEditable</a> to notify ContentEditor<BR/>
					
				</div>
				
				
				
				
					
					
					
					
					
					
						<dl class="detailList">
						<dt class="heading">Requires:</dt>
						
							<dd>Ext.Panel <a href="../symbols/ContentEditor.html">ContentEditor</a></dd>
						
						</dl>
					
					

			</div>
			

<!-- ============================== field details ========================== -->		
			
				<div class="sectionTitle">
					Field Detail
				</div>
				
					<a name="marker"> </a>
					<div class="fixedFont">
					
					<span class="light">{Array of strings}</span>
					<b>marker</b>
					
					</div>
					<div class="description">
						node attribute that ContentEditor looks for to make a node editable;<BR/>
Can have more markers; however only the first one (if set) indicates 'editability'; the reminder is passed over to .updateElement - can be used to unique identification of editable nodes
Note! only textnodes can be made editable
						
						
					</div>
					
					

						
						
						
						

					<hr />
				
					<a name="markerClassName"> </a>
					<div class="fixedFont">
					
					<span class="light">{Array of strings}</span>
					<b>markerClassName</b>
					
					</div>
					<div class="description">
						Depending on marker set bound to a node, ContentEditor sets nodes CSS names taken from the array
						
						
					</div>
					
					

						
						
						
						

					
				
			

<!-- ============================== method details ========================= -->		
			
				<div class="sectionTitle">
					Method Detail
				</div>
				
					<a name="addSnapshot"> </a>
					<div class="fixedFont">
					
					
					<b>addSnapshot</b>()
					
					</div>
					<div class="description">
						function to store current state of the document for the purpose of UNDO/REDO<BR/>
Should be called from <a href="#updateElement">#updateElement</a>
						
						
					</div>
					
					
					
						
						
						
						
						
						
						

					<hr />
				
					<a name="getDom"> </a>
					<div class="fixedFont">
					
					<span class="light">{DOM}</span>
					<b>getDom</b>()
					
					</div>
					<div class="description">
						returns copy of the current document
						
						
					</div>
					
					
					
						
						
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{DOM}</span> copy of the current document</dd>
							
							</dl>
						
						
						

					<hr />
				
					<a name="getScrollable"> </a>
					<div class="fixedFont">
					
					
					<b>getScrollable</b>()
					
					</div>
					<div class="description">
						returns the container of a node that is scrollable
						
						
					</div>
					
					
					
						
						
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd>scrollabel component</dd>
							
							</dl>
						
						
						

					<hr />
				
					<a name="initContent"> </a>
					<div class="fixedFont">
					
					
					<b>initContent</b>(content)
					
					</div>
					<div class="description">
						Adds content to the component
						
						
					</div>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{DOM/DOM string}</span> <b>content</b>
									
								</dt>
								<dd>content to be placed within the panel</dd>
							
							</dl>
						
						
						
						
						
						
						

					<hr />
				
					<a name="initSnapshot"> </a>
					<div class="fixedFont">
					
					
					<b>initSnapshot</b>()
					
					</div>
					<div class="description">
						Initializes snapshots
Function called by makeEditable
						
						
					</div>
					
					
					
						
						
						
						
						
						
						

					<hr />
				
					<a name="makeEditable"> </a>
					<div class="fixedFont">
					
					
					<b>makeEditable</b>()
					
					</div>
					<div class="description">
						method makes a node being editable<BR/>
Note! content has to be prepared in order to make it Editable<BR/>
Can implement own function that wrapes editable nodes with spans
and gives them attribute marker[0]<BR/>
Please see: <a href="#process">#process</a>
						
						
					</div>
					
					
					
						
						
						
						
						
						
						

					<hr />
				
					<a name="output"> </a>
					<div class="fixedFont">
					
					
					<b>output</b>()
					
					</div>
					<div class="description">
						prints into console the copy of the current document
						
						
					</div>
					
					
					
						
						
						
						
						
						
						

					<hr />
				
					<a name="process"> </a>
					<div class="fixedFont">
					
					
					<b>process</b>(root)
					
					</div>
					<div class="description">
						processes the current document in order to append markers
Note! Editable nodes have to be wrapped using span with a marker!
						
						
					</div>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{DOM}</span> <b>root</b>
									
								</dt>
								<dd>DOM node to process</dd>
							
							</dl>
						
						
						
						
						
						
						

					<hr />
				
					<a name="recallSnapshot"> </a>
					<div class="fixedFont">
					
					
					<b>recallSnapshot</b>(step)
					
					</div>
					<div class="description">
						Retrieves stored snapshot and replace current document
						
						
					</div>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{int}</span> <b>step</b>
									
								</dt>
								<dd>The snapshot to use relative to the current state</dd>
							
							</dl>
						
						
						
						
						
						
						

					<hr />
				
					<a name="refreshContent"> </a>
					<div class="fixedFont">
					
					
					<b>refreshContent</b>()
					
					</div>
					<div class="description">
						Function to refresh/regenerate current content.
Usually not used!
<BR/>Interface function.
						
						
					</div>
					
					
					
						
						
						
						
						
						
						

					<hr />
				
					<a name="unhook"> </a>
					<div class="fixedFont">
					
					
					<b>unhook</b>()
					
					</div>
					<div class="description">
						unhooks any events bound to current content<BR/>
method usually used when re-processing content
						
						
					</div>
					
					
					
						
						
						
						
						
						
						

					<hr />
				
					<a name="updateElement"> </a>
					<div class="fixedFont">
					
					
					<b>updateElement</b>(value, markers)
					
					</div>
					<div class="description">
						Function called by ContentEditor every time an editable element is changed
						
						
					</div>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{string}</span> <b>value</b>
									
								</dt>
								<dd>new value</dd>
							
								<dt>
									<b>markers</b>
									
								</dt>
								<dd>identification of the node as set by <a href="#process">#process</a> (marker value) <a href="#marker">#marker</a></dd>
							
							</dl>
						
						
						
						
						
						
						

					
				
			
			
<!-- ============================== event details ========================= -->		
			
			
			<hr />
		</div>

		
<!-- ============================== footer ================================= -->
		<div class="fineprint" style="clear:both">
			
			Documentation generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.3.0 on Fri Jul 17 2009 23:06:26 GMT+0100 (BST)
		</div>
	</body>
</html>
